/**
* MSL Utilidades y Herramientas del SL
* Ramon Sanchez 
* Sede Subgerencia Comercial Oficinas Divisionales
*/

import java.io.*;

class UyHSL_prog03 
{
  public static void main(String[] args) 
  {
    System.out.println("\nMSL Utilidades y Herramientas del SL ");
    System.out.println("\nValidacion y Operacion entre dos numeros");
    BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));
    try 
    {
      System.out.print("Operacion a realizar (+ - * /): "); String soper = teclado.readLine();
      if ( vOper(soper) )
      {
        System.out.print("Numero 01: "); String snum1 = teclado.readLine();
        System.out.print("Numero 02: "); String snum2 = teclado.readLine();
        if ( vNum(snum1) && vEnt(snum2) ) vOperacion(soper, Integer.parseInt(snum1), Integer.parseInt(snum2) );
        else                              System.out.println("\nError... no se proporcionaron numeros...");
      }
      else System.out.println("\nError... operacion a realizarse incorrecta...");
    }
    catch (IOException ex) { System.out.println(ex); }
    System.out.println("\n<ENTER> para salir...");
    try { teclado.readLine(); } catch (IOException ex1) { }
  }

  public static void vOperacion(String oper, int n1, int n2)
  {
    int resul=0; String so="";
         if ( oper.equals( "+" ) ) { so="SUMA";           resul = n1 + n2; }
    else if ( oper.equals( "-" ) ) { so="RESTA";          resul = n1 - n2; }
    else if ( oper.equals( "*" ) ) { so="MULTIPLICACION"; resul = n1 * n2; }
    else if ( oper.equals( "/" ) ) { so="DIVSION";        if(n2 > 0) resul = n1 / n2; else resul=0; }
    System.out.println("\nLa " + so + " de " + n1 + " y " + n2 + " = " + resul);
  }

  public static boolean vOper(String oper)
  {
    if ( oper.equals( "+" ) ) return true;
    else if ( oper.equals( "-" ) ) return true;
    else if ( oper.equals( "*" ) ) return true;
    else if ( oper.equals( "/" ) ) return true;
    else return false;
  }

  public static boolean vNum(String num) 
  {
    try 
    {
      Integer.parseInt(num);
      return true;
    } 
    catch (Exception ex) {  return false; }
  }
 
  public static boolean vEnt(String num)
  {
    for(int i = 0; i<num.length(); i++)
    {
      if( !Character.isDigit(num.charAt(i)) )  return false;
    }
    return true;
  }
}
